变量提升这个概念还是要搞清楚的，在做题的时候有很多坑的

当遇到2个相同的函数，一个是函数表达式，一个是函数声明式
要注意：2个函数都会进行变量提升，函数声明式的优先级更高，所以不要被他们的位置蒙蔽了
也就是说，提升只会函数表达式在函数声明式下面，所以执行函数的时候是执行函数表达式的
var fn=function(){
    console.log(1)
}
function fn(){
    console.log(2)
}
fn()1


当在全局作用域中用var声明一个变量，然后又有一个函数，在函数内部又没有用var，但是变量名一样
此时要知道这个概念，在什么时候执行这个函数，函数内部的东西才生效，而且在函数位置才开始定义那个变量
所以以下打印的是1
function a(){
    b=1
}
var b=2
a()
console.log(b)//1

